From: Jan Beulich Date: Fri, 13 Mar 2015 11:40:01 +0000 (+0100) Subject: Revert "cpupools: update domU's node-affinity on the cpupool_unassign_cpu() path" X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3622 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=8395b67ab0b8a86;p=xen.git Revert "cpupools: update domU's node-affinity on the cpupool_unassign_cpu() path" This reverts commit 93be8285a79c6cbbf66c8681fec1d1bfb71d84cc. At the point this patch calls domain_update_node_affinity(), the vcpu hard affinities have not yet been updated; so calling it at this point can in some circumstances trigger an ASSERT(). domain_update_node_affinity() is already called in cpu_disable_scheduler(), so adding it to cpupool_unassign_cpu() is redundant. Simply reverting the patch is sufficient. Acked-by: George Dunlap --- diff --git a/xen/common/cpupool.c b/xen/common/cpupool.c index a758a8bb9b..cd6aab9661 100644 --- a/xen/common/cpupool.c +++ b/xen/common/cpupool.c @@ -379,12 +379,6 @@ static int cpupool_unassign_cpu(struct cpupool *c, unsigned int cpu) atomic_inc(&c->refcnt); cpupool_cpu_moving = c; cpumask_clear_cpu(cpu, c->cpu_valid); - - rcu_read_lock(&domlist_read_lock); - for_each_domain_in_cpupool(d, c) - domain_update_node_affinity(d); - rcu_read_unlock(&domlist_read_lock); - spin_unlock(&cpupool_lock); work_cpu = smp_processor_id();